package lambda.demo02;

/**
 * 省略规则
 * 1. 小括号内参数的类型可以省略；
 * 2. 如果小括号内有且仅有一个参，则小括号可以省略；
 * 3. 如果大括号内有且仅有一个语句，则无论是否有返回值，都可以省略大括号、return关键字及语句分号。要省略 则 return { } ；一起省略
 *
 */
public class Demo02InvokeCook {
    public static void main(String[] args) {
        //匿名内部类方式
        invokeCook(new Cook() {
            @Override
            public void makeFood() {
                System.out.println("恰饭了，匿名内部类");
            }
        });

        // TODO 在此使用lambda表达式<标准格式>调用invokeCook方法
        invokeCook(()->{
            System.out.println("恰饭了，lambda表达式");
        });
        //省略方式

        invokeCook(()-> System.out.println("恰饭了，省略版lambda表达式"));
    }
    private static void invokeCook(Cook cook){
        cook.makeFood();
    }
}
